package org.lc.oauth.service;

import org.lc.oauth.dto.RegisteredClientDto;
import org.lc.oauth.vo.LcUserDetails;
import org.lc.platform.base.domain.JwtUser;
import org.lc.platform.base.result.Result;

public interface Oauth2Service {

    /**
     * 注册客户端
     *
     * @param client {客户端信息}
     * @return {}
     */
    Result<String> registeredClient(RegisteredClientDto client);

    /**
     * 获取客户端密钥，没获取一次更新一次
     *
     * @param clientId {客户端ID}
     * @return {}
     */
    Result<String> getClientSecret(String clientId);

    /**
     * 推出客户端登录状态
     *
     * @param user {用户信息}
     * @return {}
     */
    boolean logout(String userId);


    /**
     * 判断当前token 用户是否已经登录
     *
     * @param user {token 存储的用户信息}
     * @return {}
     */
    boolean isLoginIn(JwtUser user);

}
